package com.ljy.my_study.lintcode.最佳购物计划;
/** 
* @author James
* @date 2018年10月17日 
*/
public class TestMain {
//	描述
//	你有k元钱,商场里有n个礼盒,m个商品,每个商品和礼盒都有一个对应的价值val[i]和费用cost[i]，对于每个商品,只有在购买了其对应的礼盒belong[i]后才能购买之。
//	给出n,m,大小为n+m的数组val,cost和belong,输出在花费不超过k的情况下能得到的商品和礼盒的最大价值。
//
//	1 \leq n,m \leq 1* 10^21≤n,m≤1∗10
//	​2
//	​​ 
//	1 \leq k \leq 1* 10^51≤k≤1∗10
//	​5
//	​​ 
//	1 \leq cost[i] \leq 1* 10^31≤cost[i]≤1∗10
//	​3
//	​​ 
//	0 \leq val[i] \leq 1* 10^30≤val[i]≤1∗10
//	​3
//	​​ 
//	val[0]~val[n-1]表示礼盒的价格，val[n]~val[m+n-1]表示商品的价格，对于cost和belong也是如此。
//	题目保证belong[0]~belong[n-1]的值都是-1，表示它们都是礼盒。
//	如果有多个商品都需要同一个礼盒，那么同时购买这些商品和礼盒是可以的。
//	您在真实的面试中是否遇到过这个题？  
//	样例
//	给出 n=3 m=2 k=10,val=[17,20,8,1,4],cost=[3,5,2,3,1],belong=[-1,-1,-1,0,2],返回45.
//
//	解释：
//	只买三个礼盒，这样总价值最大(17+20+8)。
//	给出 n=2 m=4 k=9,val=[5,7,7,18,16,8],cost=[1,1,3,3,3,5],belong=[-1,-1,1,0,1,1],返回46.
//
//	解释：
//	买两个礼盒，再买1号和2号商品这样总价值最大(5+7+18+16)。
//	给出 n=2 m=2 k=10,val=[10,1,20,20],cost=[1,10,2,3],belong=[-1,-1,0,0],返回50.
//
//	解释：
//	买0号礼盒，0号和1号商品，这样总价值最大(10+20+20)。
	public static void main(String[] args) {
		
	}
	
	public int getAns(int n, int m, int k, int[] val, int[] cost, int[] belong) {
		for(int i=0;i<cost.length;i++) {
			
		}
		return -1;
	}
}
